<?php

class compraController extends Controller{
    
    public function __construct($vars) {
        $this->LoadModel("usuario/login", 'uobj');
        $this->uobj->needLogin('loja/compra');
        $this->cod = $this->uobj->getCodUsuario();
        parent::__construct($vars);
        $this->LoadModel("loja/compra", "model");
    }
    
    public function index(){     
        $this->genTags("Visualizar Pedidos", "", "", "nofollow");
        $this->registerVar("pedidos", $this->model->getPedidosByUser($this->cod));
    	$this->display('loja/compra/pedidos');
    }
    
    public function entregue(){
        $this->genTags("Pedidos Entregues", "", "", "nofollow");
        $this->showSelect('pedidos', 'en');
    }
    
    public function aberto(){
        $this->genTags("Pedidos em aberto", "", "", "nofollow");
        $this->showSelect('pedidos', 'sa');
    }
    
    public function cancelado(){
        $this->genTags("Pedidos Cancelados", "", "", "nofollow");
        $this->showSelect('pedidos', 'ca');
    }
    
    public function numero(){
        $this->genTags("Pedidos por número", "", "", "nofollow");
        $this->showSelect('numero');
    }
    
    public function data(){
        $this->genTags("Pedidos por data", "", "", "nofollow");
        $this->showSelect('date');
    }
    
    private function showSelect($var, $status = ""){
        if(!empty ($_POST)){
            $date   = isset($_POST['date'])  ?convertData($_POST['date']):"";
            $codp   = isset($_POST['numero'])?$_POST['numero']:"";
            $this->registerVar("pedidos", $this->model->getPedidosByUser($this->cod, $status, $codp, $date));
            $this->display('loja/compra/pedidos');
        } else {
            if($var == 'pedidos')
                $this->registerVar("pedidos", $this->model->getPedidosByUser($this->cod, $status, '', ''));
            
            $this->display("loja/compra/$var");
        }
    }
    
    public function pagamento(){
        
        /*
        $this->LoadModel("usuario/dados", 'udados');
        $this->udados->needAdress('loja/compra/finalizar');
        
        $this->LoadResource("pagamento", 'obj');
        $this->obj->needPayment($redirect = 'loja/carrinho/finalizar');
        
        $this->display('loja/compra/pagamento');
         */
        Redirect("loja/compra/finalizar");
    }
    
    public function finalizar(){
        
        $this->genTags("Finalizar pedido", "", "", "nofollow");
        $this->LoadModel("usuario/dados", 'udados');
        $this->udados->needAdress('loja/compra/finalizar');
        
        $bool = $this->model->finalizar();
        $this->setVars($this->model->getMessages());
        
        //se finalizou as compra corretamente
        if($bool) $this->display('loja/compra/finalizar');
        //se ocorreu algum erro
        else      $this->display('loja/compra/finalizar_erro');
        
    }
    
    public function cancelar(){
        $this->genTags("Cancelar Pedido", "", "", "nofollow");
        $this->LoadModel("usuario/login", 'uobj');
        $this->uobj->needLogin('loja/compra');
        $cod = $this->uobj->getCodUsuario();
        
        $pedido = array_shift($this->vars);
        $this->model->cancelarPedido($pedido);
        $this->setVars($this->model->getMessages());
        $this->registerVar("pedidos", $this->model->getPedidosByUser($cod));
    	$this->display('loja/compra/pedidos');
    }
    
}

?>
